package com.xiaoke.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoke.domain.entity.TagMiddle;
import com.xiaoke.domain.vo.TagVo;
import com.xiaoke.enums.TagTargetEnum;

import java.util.List;
import java.util.Set;


/**
 * 标签表中间表(TagMiddle)表服务接口
 *
 * @author xiaoke
 * @since 2023-03-17 10:38:56
 */
public interface TagMiddleService extends IService<TagMiddle> {
    /**
     * 通过目标ID获取标签列表
     * @return List<标签列表>
     */
    List<TagVo> getByIdTagList(Long id, TagTargetEnum targetEnum);

    /**
     * 根据标签ID,获取目标 IDS
     * @param id 标签ID
     * @param targetEnum 标签分类
     * @return 目标Id数组
     */
    Set<Long> getByIdsTargetIds(Long id, TagTargetEnum targetEnum);

    /**
     * 根据标签IDS,获取目标 IDS
     * @param id 标签ID
     * @param targetEnum 标签分类
     * @return 目标Id数组
     */
    Set<Long> getByIdsListTargetIds(Set id, TagTargetEnum targetEnum);
}

